Next.js Modal with Parallel & Intercepting Routes, shadcn/ui Dialog

Поделиться
HTML-код
  • Опубликовано: 30 сен 2024

Комментарии • 114

  • @aliksargsyan2782
    @aliksargsyan2782 3 месяца назад +8

    Even I'm Java Srping Boot software backend engineer, but your content is always intereted me, I appreciate your hard work to bring us such a high quality content. Thank you Dave God Bless you and your family and also welcome back :)

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад +2

      Thank you for the kind words! I'm glad you like my content even though I have not covered Spring Boot!

  • @andrewpaulhart
    @andrewpaulhart 2 месяца назад +1

    Great video. Thanks. However I'm having a little trouble wrapping my head around exactly what is happening. I am still confused as to why the modal disappears when we navigate back to the home page, and for that matter why the non modal version isn't showing when the page is first displayed. When using parallel routes to implement a dashboard all the parallel routes are rendered on screen together. Since the modal seems to be implemented as a slot in the layout in the same way, why is it not displayed like all the slots are displayed initially on a dashboard? I'm wondering whether it is the null default.tsx that makes the modal disappear, but you seemed to downplay its significance so that's probably not it. Perhaps, brain cell impaired such as myself, more explanation contrasting the previous modal implementation, ie opening and closing the modal, and the nextjs 14 approach of having the modal always open would be a good.

  • @rusko_
    @rusko_ 2 месяца назад +1

    I always find reloading a page with an open modal to lose its content outside the modal to be frustrating, because I expect the modal to disappear when I refresh the page. Instead, it does the exact opposite, which can be very annoying. Initially, when I encountered this behavior on Instagram, I thought it was a bug.

  • @sibanzboss6705
    @sibanzboss6705 3 месяца назад +8

    yes Dave, we want to see the video about a form in a modal

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад +5

      Thank you!

    • @andrewpaulhart
      @andrewpaulhart 2 месяца назад +1

      Me too. Although I think Ive figured it out, an example of modal login and sign-up forms would be greatly appreciated.

  • @alarafatsiddique9362
    @alarafatsiddique9362 3 месяца назад +5

    Really enjoyed this, kindly apply this on form

  • @Boss-gr4jw
    @Boss-gr4jw 3 месяца назад +1

    This is such a mess. Why in the hell would you need to create so many nested structures to build something simple. It's literally impossible to understand what belongs together when every component is spread around 10 different directories. Nothing makes sense here, absolutely no locality of behaviour, only technical non-sense.

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад

      Yeah, the Next.js App Router is opinionated about that. YMMV

  • @eedeenet
    @eedeenet Месяц назад +1

    what if i dont want a fallback route /photo/1 should always open the modal?

    • @evheniydan
      @evheniydan Месяц назад

      Did you find a solution?

  • @mickeykadimov7128
    @mickeykadimov7128 27 дней назад

    Hey Dave Gary. Very helpful! I would love to see you making a video also about intercepted-searchbar 🙋‍♂🙋‍♂ thank you in advance.

  • @anasouardini
    @anasouardini Месяц назад

    Isn't this just a pop up with unnecessarily changing the url? I'm failing to see a valid use case of this, a pop up with two buttons "visit" and "share" would render this feature completely unnecessary.
    Perhaps, Nextjs should've made their next/link easier to use like they do in tanstack router instead of baking new features that don't really affect the DX that much.
    Maybe I'm just too dumb to understand this.

  • @enziqflow4296
    @enziqflow4296 Месяц назад

    Any idea how to implement it for dynamic routes?
    For example i have route
    app/
    game/[id]/page.tsx - where i should open modal
    review/[id]/page.tsx target page
    it feels very buggy, and docs are not clear about it

  • @uraura8165
    @uraura8165 21 день назад

    Hi. Anybody knows how to prevevnt feed page scrolling up when modal window appear?

  • @rajfekar1514
    @rajfekar1514 3 месяца назад

    Please help me withn nextjs new authjs v5 login with both through Googleprovider and credentials login how to manage both login simultaneously through rest api login.

  • @larrymcfarlane6202
    @larrymcfarlane6202 3 месяца назад

    Hmmmm...could be useful for a login form where a session/jwt expired.

  • @CodeZakk
    @CodeZakk 3 месяца назад +2

    you dropped this when I needed it. i've read the documentation but I didn't understand that much thanks for the video!!

  • @JimHarris-w2x
    @JimHarris-w2x 3 месяца назад

    This is great, thanks. Could this pattern support returning data or a callback from the modal to the route or component that called it?

  • @vyshnav2488
    @vyshnav2488 3 месяца назад

    sonner and toast component when triggered inside intercepting modal does not pop up or is not visible

  • @njosuedev.
    @njosuedev. 3 месяца назад +1

    Hello Dave! Thank you

  • @joesilva-rodriguez9
    @joesilva-rodriguez9 3 месяца назад +1

    I have everyone that starts with our company to go through your NextJS/Tailwind Course so they can be assets in our teams as fast as possible. Keep em coming!

  • @MrRicardosgeral
    @MrRicardosgeral Месяц назад

    Yes. Modal with react table. I need it😊

  • @josephtan6018
    @josephtan6018 3 месяца назад

    Hey Dave,
    Please make a playlist for Remix. It's much much better than NextJS. Thank you.

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад

      I've been wanting to do this. With their new announcements, it might be good to wait for the RRv7 merger.

  • @ericmensah9037
    @ericmensah9037 3 месяца назад

    Hello Dave at ruclips.net/video/Ft2qs7tOW1k/видео.html when creating the modal component, since the props defaultOpen and open are boolean, I guess it'll be cleaner to just specify the properties because they'll evaluate to true by default. Thank you.

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад

      Yes in this case. In many instances, you would use a trigger to open the model and then it needs to be able to receive more than one value.

  • @w1erley
    @w1erley 3 месяца назад

    Hello, can you please advise me how I can implement a modal like in twitter when creating a post? It seems to be the same, but when you reload the page, it doesn't show you a new page, instead it shows a modal panel with a dashboard in the background
    Same goes for the profile edit modal, when you click edit, it opens the modal with /settings/profile url, but when the page reloads, the modal is saved but the background changes to the dashboard
    I'd really appreciate your help.

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад

      You can load a modal without an intercepting route. Sounds like that is what you are describing.

  • @melkhywong7594
    @melkhywong7594 2 месяца назад

    can this works with shadcn sheet ui?

  • @pookiepats
    @pookiepats 3 месяца назад

    Frameworks have just gone off the deep end, respect to anybody that actually has to implement these behemoths.
    I am content writing stored procedures for you to call-just stop trying to run JS in my SQL servers.

  • @thebilalafsar
    @thebilalafsar 3 месяца назад

    Bring the PHP course 😡😭

  • @ivodelev9794
    @ivodelev9794 3 месяца назад

    Hi and thank for your video. I am still confused as what problem does this solve tho?

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад

      A modal will display over the current page. In Next.js, you can intercept a route segment and display it in a modal. In business apps, a common use case would be a page with a table of results. You don't want to keep submitting a form to see those results so you keep that page underneath while working with the individual records from the table in a modal that displays a form. Many other uses but this one is common.

  • @Raul-wf6zf
    @Raul-wf6zf 3 месяца назад

    I am implementing a modal within a modal is this a good idea to do parallel routes?

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад

      A modal within a modal - I'd avoid if possible, but sometimes weird things are necessary. Parallel routes are a good idea for a modal - not sure about layering them.

  • @ProCoder777
    @ProCoder777 3 месяца назад

    Привет Дэйв! Спасибо за интересное видео. Очень жду новые выпуски. Ты потрясающий учитель. Спасибо, что делишься своими знаниями со всеми нами.

  • @ekchills6948
    @ekchills6948 3 месяца назад

    crazy! please can you do the other application of the modal ((:

  • @Pptruenoz
    @Pptruenoz 3 месяца назад

    You should set the vscode toolbar to the right side or maybe hide it so we can see the code

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад

      I usually press Alt+Z so all code lines wrap - so they should still be visible?

  • @idevbrandon
    @idevbrandon 2 месяца назад

    Thank you so much, Dave! Modal was kicking my ass

  • @emmanuelxs6143
    @emmanuelxs6143 3 месяца назад

    Great tutorial, loved it, can you implement said functionality with react and react router dom v6, i have been trying to do sth similar but can't find a working solution, thanks by the way

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад

      I will take a look in the near future. I'd like to cover RR7/Remix as they are merging.

    • @emmanuelxs6143
      @emmanuelxs6143 3 месяца назад

      @@DaveGrayTeachesCode thanks, I really appreciate

  • @gerr_cass
    @gerr_cass 3 месяца назад

    Enjoy your vacation, cheers to this industry!

  • @mahmudulhasan7858
    @mahmudulhasan7858 11 дней назад

    Great ❤

  • @ogt1407gabriel
    @ogt1407gabriel 3 месяца назад

    You the best

  • @rahulchourasiya4148
    @rahulchourasiya4148 3 месяца назад

    Can you please make a video for single sign on, like centralised authentication website using next-auth, without any workos or any paid library for multiple saas website

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад

      I might someday, but it isn't high on my list because Kinde gives you lots of features and up to 10k users for free. Makes it an easy choice for most of my projects.

    • @rahulchourasiya4148
      @rahulchourasiya4148 3 месяца назад

      @@DaveGrayTeachesCode we are developer, we build own tools instead of relaying other. Thanks

    • @kazmi401
      @kazmi401 3 месяца назад

      @@rahulchourasiya4148 So go ahead Build your own Next-auth. why you are requesting to use it.

  • @amadeosph2045
    @amadeosph2045 3 месяца назад

    Hi Dave, I'm from Brazil 🇧🇷 and I'm learning a lot from all your videos..... I really appreciate you making this high quality content. thank you 😁✅

  • @ofeklevy1242
    @ofeklevy1242 3 месяца назад

    NUM1

  • @풍월상신
    @풍월상신 3 месяца назад

    Thanks Dave and welcome back.😊
    This intercepting route is still confusing, maybe I need to write my own code.
    A tutorial video for modal with some form and data will be great.
    What about a MessageBox Modal with Tabs like inbox and send form etc.

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад

      Thank you! And great suggestions. Yes, working with intercepting routes will help you see how they work. In this modal example, we intercept the request for the photo route segment and instead, display the mirrored route in a modal.

  • @mistersir3185
    @mistersir3185 3 месяца назад

    I wish I knew about your channel when I was in college, but I'm glad you've decided to chose this path and help us grow as developers. Your contribution brings so much value to people like myself. I've been following your tutorials and there hasn't been a point where I've felt lost. Your teaching style is simple and effective. Loving it!
    Thank you Dave!

  • @danushkap
    @danushkap 3 месяца назад

    Hi Dave, I'm a big fan of yours.
    And I'm very much looking forward to the day you will start a React Native course.

  • @ilan117
    @ilan117 3 месяца назад

    Alway thank you Dave. I am usually doing that in an e-commerce shop so I can show the product details and of course the check out. I’d be happy if you can show forms and tables as you suggested ❤

  • @MattJenningsChannel
    @MattJenningsChannel 3 месяца назад

    Thanks for the content Dave - would be great to see your approach to editing data tables with modals in NextJS 🙌

  • @aghil_shoja
    @aghil_shoja 3 месяца назад

    Hi Dave, I get very excited when you upload new videos on RUclips, thank you once again for your invaluable tutorials

  • @hadilibrahim4465
    @hadilibrahim4465 3 месяца назад

    Thank You 🤍✨️
    source code, please ...

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад +1

      I will check - thought I had provided the link, but if not, I'll put it in there ASAP!

    • @hadilibrahim4465
      @hadilibrahim4465 3 месяца назад

      Thanks ✨️🤍😍

  • @g_k_shuvo
    @g_k_shuvo 3 месяца назад

    I appreciate your hard work to bring us such a high quality content. Thank you Dave!

  • @yourcasualdeveloper
    @yourcasualdeveloper 3 месяца назад +1

    As always when I needed most

  • @gopuadks
    @gopuadks 3 месяца назад

    Thank you so much dave i really need this concept and you just drop a this video, how lucky I am

  • @christianangelomsulit3759
    @christianangelomsulit3759 3 месяца назад

    🎉🎉🎉🎉🎉🎉🎉

  • @sujoykrhaldar
    @sujoykrhaldar 3 месяца назад

    Can we do this in React ?

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад +1

      This is specific to the Next.js framework. Next.js is a React framework.

  • @tareksiddiquenabil5403
    @tareksiddiquenabil5403 3 месяца назад

    ❤❤

  • @mj95412
    @mj95412 3 месяца назад

    Love the 7 day beard Dave, you definiely deserve it all the work you in

  • @prepperdon
    @prepperdon 3 месяца назад

    FYI - intercepting routes in a subdirectory are broken in 14.2.3. They do work in the root of the app though. Fought that bug for about 4 hours yesterday, rolled next back to 14.1 and they work fine.

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад

      Interesting indeed. It must be a specific scenario as I have a work project currently on 14.2.3 which uses a subdirectory (..)route-segment that is working with no issues.

    • @prepperdon
      @prepperdon 3 месяца назад

      @@DaveGrayTeachesCode Could have been my specific scenario, but I did find a few reports in github complaining about the same issue. I was trying to intercept a rout 3 levels deep - /dashboard/questions/edit and it just wouldn't work no matter what I tried.

  • @Bangladesh689
    @Bangladesh689 3 месяца назад

    Nice. Thanks.
    What if I have a link inside the modal like previous and next. Then after clicking these link the close button won't close the dialog instead it will keep going back to the history. What would you recommend?

    • @Bangladesh689
      @Bangladesh689 3 месяца назад

      I know that router.push(specificPath) can solve this. But in my case I have login button on navbar and inside the modal I have link to sign up form as well. So I want when user closes the modal they go back from where they came from

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад

      Not sure that I'm following all of your specifics, but the handle function I introduced in this video should take a user back to where they came from.

  • @harunadaudq2183
    @harunadaudq2183 3 месяца назад

    Really enjoyed this, kindly apply this on form

  • @shakthis-qy8su
    @shakthis-qy8su 3 месяца назад

    you are my awesome Dave

  • @abhim6380
    @abhim6380 3 месяца назад

    How is the coffee list still visible in the background of the modal in route /photo/1?

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад

      That's how modals work - they overlay the page underneath. The shadcn/ui Dialog component applies an overlay that has an opacity setting which lets you see what is underneath. You could customize it.

    • @abhim6380
      @abhim6380 3 месяца назад

      @@DaveGrayTeachesCode but for the route /photo/1 the coffee list shouldn't be displayed. Only the modal should be displayed, No?

  • @Sylar7773
    @Sylar7773 3 месяца назад

    Realy thank You for Your job!!!

  • @aymenbachiri-yh2hd
    @aymenbachiri-yh2hd 3 месяца назад

    Thank you

  • @rajfekar1514
    @rajfekar1514 3 месяца назад

    thanks for this tutorial.

  • @dragonloboJR
    @dragonloboJR 3 месяца назад

    Very useful for ux!

  • @toKrzychu
    @toKrzychu Месяц назад +1

    Half the video had nothing to do with the modal - totally unnecessary stuff

  • @TravinskiyVladislav
    @TravinskiyVladislav 3 месяца назад

    Thank you Dave

  • @nro337
    @nro337 3 месяца назад

    Great video!

  • @StephenRayner
    @StephenRayner 3 месяца назад

    From my CV, Technology Summary
    Experience: Total industry experience 14 years. Roles 2 years as Director, 3 years as Tech Lead, Full-stack Developer (8 years). AWS (5 years), Typescript/Node (6 years), React/Native (6 years), C# & Python (4 years)
    Current Role: Vercel, NextJS, Inngest, Twilio, Tailwind, ShadCN, Jest, Docker, Apache Superset, VercelAI, LangGraph, OpenAI, ClaudeAI, pgVector, XState, AWS EC2/ECS/S3/VPC/Lambda/SQS/SFN/SNS, Terraform.
    And I still find your videos very useful!

    • @DaveGrayTeachesCode
      @DaveGrayTeachesCode  3 месяца назад +1

      You have a great CV and great experience! So glad my content is still helpful for you. I'm sure you could show me a few things, too!

    • @StephenRayner
      @StephenRayner 3 месяца назад

      @@DaveGrayTeachesCode happy to share ideas. You on Discord?